/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import javax.swing.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;

/**
 * Classe responsável por realizar todas consultas relacionadas a Tabela da janela de Contas a Receber.
 * @author F.L. Zanotti
 */
public class conTableContaRec {
/**
 * Realiza uma consulta Total  de Contas_Receber para popular uma tabela.
 * @param testeTabela JTable
 * @return
 */
    public JTable ConsultaTabelaToda(JTable testeTabela) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        try {
            con = AbreConexao.getConexao();

            String query = "SELECT NMORIGEM, CDVENDA, TO_CHAR(DTRECEBER, 'DD/MM/YY') as DTRECEBER from CONTAS_RECEBER";

            pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {
                String NMORIGEM = rs.getString("NMORIGEM");
                String CDVENDA = rs.getString("CDVENDA");
                String  DTRECEBER = rs.getString("DTRECEBER");


                NMORIGEM = NMORIGEM.trim();
                CDVENDA = CDVENDA.trim();



                Vector teste = new Vector();
                teste.addElement(NMORIGEM + " - " + CDVENDA);
                teste.addElement(DTRECEBER);

                modelo.addRow(teste);


            }
            System.out.println(testeTabela.getRowCount());
            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            try {
                rs.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
            try {
                pst.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
            try {
                con.close();
            } catch (SQLException ex) {
                System.out.println(ex);
            }
        }


        return null;
    }
/**
 * Realiza uma Consulta em CONTAS_RECEBER a partir de código da nota fiscal para popular uma Tabela
 * @param testeTabela JTable
 * @param s CDNOTAFISCAL
 * @return
 */
    public JTable ConsultaTabelaPorNF(JTable testeTabela, String s) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        try {
            con = AbreConexao.getConexao();

            String query = "SELECT NMORIGEM, CDVENDA, DTRECEBER from CONTAS_RECEBER " +
                    "WHERE CDNOTAFISCAL LIKE '" + s + "%'";


            pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {
                String NMORIGEM = rs.getString("NMORIGEM");
                String CDVENDA = rs.getString("CDVENDA");
                Date DTRECEBER = rs.getDate("DTRECEBER");

                NMORIGEM = NMORIGEM.trim();
                CDVENDA = CDVENDA.trim();

                Vector teste = new Vector();
                teste.addElement(NMORIGEM + " - " + CDVENDA);
                teste.addElement(DTRECEBER);

                modelo.addRow(teste);

            }
            System.out.println(testeTabela.getRowCount());
            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (pst != null) {
                try {
                    pst.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
        }
        return null;
    }
/**
 * Realiza uma Consulta em CONTAS_RECEBER a partir de código da veda para popular uma Tabela
 * @param testeTabela JTable
 * @param s CDVENDA
 * @return
 */
        public JTable ConsultaTabelaPorVenda(JTable testeTabela, String s) {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        try {
            con = AbreConexao.getConexao();

            String query = "SELECT NMORIGEM, CDVENDA, DTRECEBER from CONTAS_RECEBER " +
                    "WHERE CDVENDA LIKE '" + s + "%'";


            pst = con.prepareStatement(query);

            rs = pst.executeQuery();
            DefaultTableModel modelo = (DefaultTableModel) testeTabela.getModel();
            modelo.setNumRows(0);

            while (rs.next()) {
                String NMORIGEM = rs.getString("NMORIGEM");
                String CDVENDA = rs.getString("CDVENDA");
                Date DTRECEBER = rs.getDate("DTRECEBER");

                NMORIGEM = NMORIGEM.trim();
                CDVENDA = CDVENDA.trim();

                Vector teste = new Vector();
                teste.addElement(NMORIGEM + " - " + CDVENDA);
                teste.addElement(DTRECEBER);

                modelo.addRow(teste);

            }
            System.out.println(testeTabela.getRowCount());
            return testeTabela;
        } catch (SQLException e) {
            System.out.println(e);
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (pst != null) {
                try {
                    pst.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException ex) {
                    System.out.println(ex);
                }
            }
        }
        return null;
    }
}
